Abstract Interpretation over Non-lattice Abstract Domains
نویسندگان
چکیده
Interpretation over Non-Lattice Abstract Domains Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia {gkgange,jorge.navas,schachte,harald,pstuckey}@unimelb.edu.au Abstract. The classical theoretical framework for static analysis of programs is abstract interpretation. Much of the power and elegance of that framework rests on the assumption that an abstract domain is a lattice. Nonetheless, and for good reason, the literature on program analysis provides many examples of non-lattice domains, including non-convex numeric domains. The lack of domain structure, however, has negative consequences, both for the precision of program analysis and for the termination of standard Kleene iteration. In this paper we explore these consequences and present general remedies. The classical theoretical framework for static analysis of programs is abstract interpretation. Much of the power and elegance of that framework rests on the assumption that an abstract domain is a lattice. Nonetheless, and for good reason, the literature on program analysis provides many examples of non-lattice domains, including non-convex numeric domains. The lack of domain structure, however, has negative consequences, both for the precision of program analysis and for the termination of standard Kleene iteration. In this paper we explore these consequences and present general remedies.
منابع مشابه
Language-based Security Abstract Non-interference
Interpretation Consider C = ℘(Z): [Cousot & Cousot’77] C A {0} {0,!1,!2,!3,...} 0! {!2,!3} Abstract domain 0+ ? {0,1,2,3,...} Language-based Security: Abstract Non-Interferece – p.3/32 Abstract Interpretation Consider C = ℘(Z): [Cousot & Cousot’77]Interpretation Consider C = ℘(Z): [Cousot & Cousot’77] Abstract domain C A {0} {0,1,2,3,...} {0,!1,!2,!3,...} 0! {!2,!3} 0+ ?domain C A {0} {0,1,2,3,...
متن کاملAlgorithmic Analysis of Programs with Well Quasi-ordered Domains
Interpretation. The above analysis algorithm can also be phrased in terms of abstract interpretation [CC77, JN94]. We intend to compute the fixpoint +X .I _ pre(X) for a set I S by iteration. Instead of computing this fixpoint in the lattice (2, ) of sets of states, we move to the abstract lattice (M, C =) , where M is the set of canonical subsets of S, and where M C =M$ if C(M) C(M$). The corr...
متن کاملDonut Domains: Efficient Non-convex Domains for Abstract Interpretation
Program analysis using abstract interpretation has been successfully applied in practice to find runtime bugs or prove software correct. Most abstract domains that are used widely rely on convexity for their scalability. However, the ability to express non-convex properties is sometimes required in order to achieve a precise analysis of some numerical properties. This work combines already know...
متن کاملTransforming Abstract Interpretations by Abstract Interpretation New Challenges in Language-based Security
In this paper we exploit abstract interpretation for transforming abstract domains and semantics. The driving force in both transformations is making domains and semantics, i.e. abstract interpretations themselves, complete, namely precise, for some given observation. We prove that a common geometric pattern is shared by all these transformations, both at the domain and semantic level. This pat...
متن کاملFunctional Dependencies and Moore-Set Completions of Abstract Interpretations and Semantics
We introduce the notion of functional dependencies of abstract interpretations relatively to a binary operator of composition. Functional dependencies are obtained by a functional composition of abstract domains, and provide a systematic approach to construct new abstract domains. In particular, we study the case of autodependencies, namely monotone operators on a given abstract domain. Under s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013